#pragma once
#include <iostream>
#include <string>
#include <ostream>
#include <fstream>
#include <sstream>
#include <algorithm>
#include <vector>
#include <ctime>
#include <filesystem>
#include <set>
#include <map>
#include <Python.h>
#include <streambuf>

#include "GeneralMethod.h"

using namespace std;

//class TeeStreamBuf : public std::streambuf {
//public:
//	TeeStreamBuf(std::streambuf* sb1, std::streambuf* sb2) : sb1(sb1), sb2(sb2) {}
//protected:
//	virtual int_type overflow(int_type c) {
//		if (c != EOF) {
//			if (sb1 != nullptr)
//				sb1->sputc(c);  // 将字符输出至第一个流缓冲区（终端）
//			if (sb2 != nullptr)
//				sb2->sputc(c);  // 将字符输出至第二个流缓冲区（文件）
//		}
//		return c;
//	}
//private:
//	std::streambuf* sb1;  // 第一个流缓冲区指针（终端）
//	std::streambuf* sb2;  // 第二个流缓冲区指针（文件）
//};



